package locadora.model;

/**
 * Classe que representa um Jogo que é um dos tipo de itens para locação
 * @author Leonardo Rocha Dias
 * @author Marccelo Augusto Selvaggio
 * @version 9.11-09
 * @see ItemLocacao
 * @see Item
 * @since 2009
 */
public class Jogo extends Item {

    // TODO devo implementar tratamento para não permitir plataforma em branco ?

    // <editor-fold defaultstate="collapsed" desc=" Atributos ">
    private String plataforma;
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc=" Construtor ">
    /**
     * Construtor
     * Instancia um objeto de jogo com seu respectivo título
     * Usa o construtor da classe pai Item
     * @param titulo do jogo
     */
    public Jogo(String titulo) {
        super(titulo);
    }

    /**
     * Construtor
     * Instancia um objeto de jogo com seu respectivo título e plataforma
     * Usa o construtor da classe pai Item
     * @param titulo do jogo
     * @param plataforma do jogo
     */
    public Jogo(String titulo, String plataforma) {
        super(titulo);
        this.plataforma = plataforma;
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc=" Propriedades ">
    /**
     * Retorna a plataforma
     *
     * @return a plataforma
     */
    public String getPlataforma() {
        return plataforma;
    }

    /**
     * Define a plataforma
     *
     * @param plataforma novo valor de plataforma
     */
    public void setPlataforma(String plataforma) {
        this.plataforma = plataforma;
    }
    
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc=" Métodos da interface ">
    @Override
    public int hashCode() {
        return super.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Jogo) {
            return super.equals(obj);
        } else {
            return false;
        }
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder(super.toString());
        String separadorLinha = System.getProperty("line.separator");

        if (this.plataforma != null) {
            sb.append("Plataforma: ");
            sb.append(this.plataforma);

            sb.append(separadorLinha);
        }

        return sb.toString();
    }
    // </editor-fold>
    
}
